# 抖码算法，让算法学习变得简单有趣
# 作者：老汤
import sys

data = str(input()).split(" ")
nums = [0] * len(data)
for i in range(len(data)):
    nums[i] = int(data[i])

# progress ：步数的进度
length, progress = len(nums), 0
# steps ：步数
steps, min_steps = 0, sys.maxsize
# 第一步必须从第一个元素开始，且 1 <= 第一步的步长 < len/2 （len 为数组的长度，需要自行解析）
for i in range(length // 2 - 1):
    progress, steps = i, 1
    # 没有走完就继续走
    while progress < length - 1:
        progress += nums[progress]
        steps += 1
    # 刚好走到最后一个成员
    if progress == length - 1:
        min_steps = min(steps, min_steps)

if min_steps == sys.maxsize:
    print(-1)
else:
    print(min_steps)
